<?php
if (!defined('BASEPATH'))
	exit('No direct script access allowed');

class Articles extends Admin_Controller {
	/** Begin: Config **/
	
	// Config List view
	protected $list_view_order_name = 'week';
	protected $list_view_order_direction = 'ASC';
	protected $list_view_searched_fields = array(
			'title'			=>	'Tựa đề',
			'cd_an'			=>	'Chế độ ăn',
			'thuc_don'		=>	'Thực đơn',
			'cham_soc'		=>	'Chăm sóc',
			'van_de'		=>	'Vấn đề',
			'phat_trien'	=>	'Phát Triển',
			'buoc_dem'		=>	'Bước Đệm'
		);
	protected $fields =  array(
			'status'		=>	array(
								'text'	=>	'Status',
								'type'	=>	'checkbox',
								'form_view'=>array(
									'type'				=>	'checkbox',
									'func'				=>	''
								)
							),
			'week'		=>	array(
								'text'	=>	'Month From',
								'type'	=>	'text',
								'list_view'=>array(
									'is_show_link'	=>	true,
									'func'			=> 'month_from'
								),
								'form_view'=>array(
									'type'				=>	'text',
									'validate_type'=>	'required : true'
								)
							),
			'week_to'	=>	array(
								'text'	=>	'Month To',
								'type'	=>	'text',
								'list_view'=>array(
									'is_show_link'	=>	true,
									'func'			=> 'month_to'
								),
								'form_view'=>array(
									'type'				=>	'text',
									'validate_type'		=>	'required : true'
								)
							),
			'title'		=>	array(
								'text'	=>	'Title',
								'type'	=>	'text',
								'list_view'=>array(
									'is_show_link'	=>	true
								),
								'form_view'=>array(
									'type'			=>	'text',
									'validate_type'	=>	'required : true'
								)
							),
			// Config just for form
			'content'		=>	array(
								'text'	=>	'1 - Chế độ ăn',
								'type'	=>	'textarea',
								'form_view' => array(
									'editor' 		=> 1,
									'validate_type'	=>	'required : true|minlength: 5'
								)
							),
							
			'thuc_don'	=>	array(
								'text'	=>	'2 - Thực đơn cho bé',
								'type'	=>	'textarea',
								'form_view' => array(
									'editor'		=> 1,
									'func'			=>	'',
									'validate_type'	=>	'required : true|minlength: 5'
								)
							),
			'cham_soc'	=>	array(
								'text'	=>	'3 - Chăm sóc bé',
								'type'	=>	'textarea',
								'form_view' => array(
									'editor'		=> 1,
									'func'			=>	'',
									'validate_type'	=>	'required : true|minlength: 5'
								)
							),
			'van_de'	=>	array(
								'text'	=>	'4 - Vấn đề thường gặp',
								'type'	=>	'textarea',
								'form_view' => array(
									'editor' => 1,
									'func'	=>	''									
								)
							),
			'phat_trien'=>	array(
								'text'	=>	'5 - Sự phát triển của bé',
								'type'	=>	'textarea',
								'form_view' => array(
									'editor' 	=> 1,
									'func'		=>	''
								)
							),
			'buoc_dem'	=>	array(
								'text'	=>	'6 - Các bước đệm cho<br>sựphát triển của bé',
								'type'	=>	'textarea',
								'form_view' => array(
									'editor' 	=> 1,
									'func'		=> ''
								)
							)
		);

	 //protected $list_view_pagination = array(1,2,3,4);
	// Config Pagination view

	/** End: Config **/
	public function month_from($val)
	{
		if($val == 0){
			return "Bắt đầu";
		}elseif ($val == 7 || $val == 13 || $val == 25 || $val == 37) {
			return "Tháng " . $val;
		}
		 else {
			return $val;
		}
	}
	public function month_to($val)
	{
		if($val == 7 || $val == 13 || $val == 25 || $val == 37 || $val == 61){
			return "Tháng " . $val;
		} else {
			return $val;
		}
	}
	
	public function ajaxListArticleID(){
		header('Access-Control-Allow-Origin: *');
		header('Content-type: text/html');
		$list = $this->model->getListArticleID();
		echo json_encode( $list );
	}

	public function ajaxArticleByWeek() {
		header('Access-Control-Allow-Origin: *');
		header('Content-type: text/html');

		$week = $this->input->post('week');
		$curr = $this->input->post('current');
		$tvid = $this->input->post('uid');
		$update = $this->input->post('update');
		
		$expected_date = "";
		
		// nếu post lên dạng ngày
		if (strpos($week, '-') !== FALSE) {
			// tính toán số tuần đã mang thai
			$tmp = explode('-', $week);
			$date = mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0]);
			
			// lưu lại để update db
			$expected_date = date('Y-m-d', $date);

			$now = mktime();
			$week = 30 * 24 * 60 * 60 * 1.0;
			if ($now < $date) {
				$week = -1; // chưa sanh
			} else if( ($now - $date) > (60 * $week)){
				$week = 61; // quá 5 tuổi
			} else {
				$week = (floor(($now - $date) / $week) + 1);
			}
		}  else {
			$expected_date = '';
		}
		
		$data['week'] = $week;
		$data['article'] = $this->model->getByWeek($week);
		
		if(!$data['article']) {
			$data['article'] = (object)array(
				'week' => $week,
				'title' => $week . ' tháng',
				'cd_an' => 'Nội dung đang được cập nhật',
				'thuc_don' => 'Nội dung đang được cập nhật',
				'cham_soc' => 'Nội dung đang được cập nhật',
				'van_de' => 'Nội dung đang được cập nhật',
				'phat_trien' => 'Nội dung đang được cập nhật',
				'buoc_dem' => 'Nội dung đang được cập nhật'
			);
		}
		
		// update user
		if($update) {
			$playerData = array(
				// 'num_of_weeks' => ($expected_date != '') ? 0 : $week,
				'num_of_weeks' => $week,
				'expected_date' => $expected_date
			);
			$this->load->model('players/players_model', 'plmodel');
			$this->plmodel->updatePlayer($tvid, $playerData);
			
			// cập nhật số tuần cho slider
			$curr = $week;
		}
		
		echo json_encode( array(
			'curr' => $curr,
			'title' => parserEditorHTML($data['article']->title),
			'cd_an' => parserEditorHTML($data['article']->cd_an),
			'thuc_don' => parserEditorHTML($data['article']->thuc_don),
			'cham_soc' => parserEditorHTML($data['article']->cham_soc),
			'van_de' => parserEditorHTML($data['article']->van_de),
			'phat_trien' => parserEditorHTML($data['article']->phat_trien),
			'buoc_dem' =>parserEditorHTML( $data['article']->buoc_dem)
		));
		
	}
	
	public function ajaxCalcWeek(){
		header('Access-Control-Allow-Origin: *');
		header('Content-type: text/html');
		
		$week = $this->input->post('week');
		
		// tính toán số tuần đã mang thai
		$tmp = explode('-', $week);
		$date = mktime(0, 0, 0, $tmp[1], $tmp[2], $tmp[0]);

		$now = mktime();
		$week = 30 * 24 * 60 * 60 * 1.0;
		if ($now < $date) {
			$week = -1; // chưa sanh
		} else if( ($now - $date) > (60 * $week)){
			$week = 61; // quá 5 tuổi
		} else {
			$week = (floor(($now - $date) / $week) + 1);
		}
		
		echo $week;
	}
	
	public function admincp_saveAction(){
		//data array pass to model
		$data['custom'] = '';
		$data['FILES'] = parent::admincp_uploadFiles();
		return $data;
	}	
}